package cn.tedu.spring6;

import org.springframework.beans.factory.FactoryBean;

public class PersonFactoryBean implements FactoryBean<Person> {
    //PersonFactoryBean也是一个Bean,只不过比较特殊，叫做工厂Bean。
    //通过工厂Bean这个特殊的Bean，可以获取一个普通的Bean。

// 最终这个Bean的创建还是我们程序员自己new的。
    @Override
    public Person getObject() throws Exception {
        return new Person();
    }

    @Override
    public Class<?> getObjectType() {
        return null;
    }
     //这个方法在接口中有默认实现
    //默认返回true，表示单例；
    //如果想多例，直接将这个方法修改为return false即可
    @Override
    public boolean isSingleton() {
        return FactoryBean.super.isSingleton();
    }
}
